package com.nuc.bigdata.app.service;

import com.nuc.bigdata.domain.vo.CommentsVO;
import com.nuc.bigdata.domain.vo.NewsVO;
import com.nuc.bigdata.feign.dto.NewsCommentsDto;

import java.util.ArrayList;

/**
 * 新闻Service
 * @author JackLuo
 * @date 2019/11/18
 */
public interface NewsService {

    /**
     * 查询出所有的新闻VO
     * @return 包含新闻VO的ArrayList
     */
    ArrayList<NewsVO> listNews();

    /**
     * 根据指定新闻唯一标识获取新闻VO
     * @param newsId 新闻唯一标识
     * @return 一条新闻VO
     */
    NewsVO getNews(String newsId);

    /**
     * 根据指定新闻查询指定页码的评论VO集合
     * @param newsId 新闻唯一标识
     * @param pageSize 页码
     * @return 包含评论VO的ArrayList
     */
    ArrayList<CommentsVO> listNewsComments(String newsId,Long pageSize);

    /**
     * 提交新的评论
     * @param newsId 新闻唯一标识
     * @param commentsDto 评论内容Dto包含userId和content(内容)
     */
    void createNewsComment(String newsId, NewsCommentsDto commentsDto);

    /**
     * 用户对评论点赞
     * @param commentId 评论唯一标识
     * @param userId 用户唯一标识
     */
    void toCommentLike(String commentId,String userId);
}
